package com.ruoyi.fetv.domain;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.aspect.annotation.Dict;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 栏目对象 fetv_navigation_context
 *
 * @author Jack
 * @date 2023-03-07
 */
@ApiModel(value = "FetvNavigationContext", description = "栏目对象fetv_navigation_context")
@Data
@Getter
public class FetvNavigationContext extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id", required = true)
    private Long id;

    /**
     * 父栏目id
     */
    @ApiModelProperty(value = "父栏目id", required = true)
    @Excel(name = "父栏目id")
    @Dict("fetv_navigation_context:id:navigation_name")
    private Long parentId;

    /**
     * 栏目标题
     */
    @ApiModelProperty(value = "栏目标题", required = true)
    @Excel(name = "栏目标题")
    private String navigationName;

    /**
     * 是否主菜
     */
    @ApiModelProperty(value = "是否主菜", required = true)
    @Excel(name = "是否主菜")
    @Dict("fetv_no_yes")
    private Long isPrimary;

    /**
     * 模块分类(字典)
     */
    @ApiModelProperty(value = "模块分类(字典fetv_module_type)", required = true)
    @Excel(name = "模块分类(字典)")
    @Dict("字典fetv_module_type")
    private Long moduleClassify;

    /**
     * 排序
     */
    @ApiModelProperty(value = "排序", required = true)
    @Excel(name = "排序")
    private Long sort;

    /**
     * 图标
     */
    @ApiModelProperty(value = "图标", required = true)
    @Excel(name = "图标")
    private String icon;

    /**
     * 是否推荐（0否 1是）
     */
    @ApiModelProperty(value = "是否推荐（0否1是）", required = true)
    @Excel(name = "是否推荐", readConverterExp = "0=否,1=是")
    @Dict("fetv_no_yes")
    private Long isRecommend;

    /**
     * 跳转方式(字典）
     */
    @ApiModelProperty(value = "跳转方式(字典fetv_jump_mode）", required = true)
    @Excel(name = "跳转方式(字典）")
    @Dict("fetv_jump_mode")
    private Long jumpMode;

    /**
     * 状态（0正常 1停用）
     */
    @ApiModelProperty(value = "状态（0正常1停用）", required = true)
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    @Dict("fetv_yes_no")
    private String status;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @ApiModelProperty(value = "删除标志（0代表存在2代表删除）", required = true)
    private String delFlag;

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("parentId", getParentId())
                .append("navigationName", getNavigationName())
                .append("isPrimary", getIsPrimary())
                .append("moduleClassify", getModuleClassify())
                .append("sort", getSort())
                .append("icon", getIcon())
                .append("isRecommend", getIsRecommend())
                .append("jumpMode", getJumpMode())
                .append("status", getStatus())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
